\hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4}{}\section{kblib\+:\+:cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$ Class Template Reference}
\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4}\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}


{\ttfamily \#include $<$kblib/memory.\+h$>$}



Inheritance diagram for kblib\+:\+:cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for kblib\+:\+:cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
using \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}{pointer} = \hyperlink{namespacekblib_1_1detail__memory_a9cb8ba19f19eee413f3cb3a221bb3a60}{detail\+\_\+memory\+::filter\+\_\+deleter\+\_\+pointer\+\_\+t}$<$ Deleter, T $>$
\item 
using \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}{element\+\_\+type} = T
\item 
using \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type} = Deleter
\item 
using \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} = std\+::unique\+\_\+ptr$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}{cond\+\_\+ptr} () noexcept=default
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}{cond\+\_\+ptr} (std\+::nullptr\+\_\+t) noexcept
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}{cond\+\_\+ptr} (T $\ast$p, bool owner=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) noexcept
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}{cond\+\_\+ptr} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del) noexcept
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}{cond\+\_\+ptr} (\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&\&p) noexcept
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}{cond\+\_\+ptr} (const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&other)=delete
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}{cond\+\_\+ptr} (\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&\&other) noexcept
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}{operator=} (const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&rhs) \&-\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&=delete
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}{operator=} (\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&\&rhs) \&noexcept -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}{operator=} (\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&\&rhs) -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}{to\+\_\+unique} () \&\&noexcept -\/$>$ \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique}
\begin{DoxyCompactList}\small\item\em Transfers ownership to a unique\+\_\+ptr if possible. If $\ast$this is not owning, returns nullptr. \end{DoxyCompactList}\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}{operator unique} () \&\&noexcept
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}{$\sim$cond\+\_\+ptr} () noexcept
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}{weak} () const \&noexcept -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}{owns} () const noexcept -\/$>$ bool
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}{release} () \&noexcept -\/$>$ T $\ast$
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}{get\+\_\+deleter} () noexcept -\/$>$ Deleter \&
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}{get\+\_\+deleter} () const noexcept -\/$>$ const Deleter \&
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}{reset} (T $\ast$p=nullptr, bool owner=false, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}{reset} (T $\ast$p, std\+::decay\+\_\+t$<$ Deleter $>$ del=\{\}) \&noexcept -\/$>$ void
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}{swap} (\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&other) -\/$>$ void
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}{get} () \&noexcept -\/$>$ T $\ast$
\item 
auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}{get} () const \&noexcept -\/$>$ const T $\ast$
\item 
\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}{operator bool} () const noexcept
\item 
T \& \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7adc748dcb4969a61f2d934d4225d05c}{operator\mbox{[}$\,$\mbox{]}} (std\+::size\+\_\+t index) \&noexcept
\item 
const T \& \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7cdecf23d865d2d30f227332f7385d54}{operator\mbox{[}$\,$\mbox{]}} (std\+::size\+\_\+t index) const \&noexcept
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}{adopt} (T $\ast$p) noexcept -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}
\item 
static auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}{adopt} (T $\ast$p, \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type} del) noexcept -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
constexpr auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}{operator==} (const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&lhs, const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&rhs) noexcept -\/$>$ bool
\item 
constexpr auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}{operator==} (const \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&lhs, const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&rhs) noexcept -\/$>$ bool
\item 
constexpr auto \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}{operator==} (const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&lhs, const \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&rhs) noexcept -\/$>$ bool
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename T, typename Deleter$>$\newline
class kblib\+::cond\+\_\+ptr$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$}



Definition at line 580 of file memory.\+h.



\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!deleter\+\_\+type@{deleter\+\_\+type}}
\index{deleter\+\_\+type@{deleter\+\_\+type}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{deleter\+\_\+type}{deleter\_type}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
using \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type} =  Deleter}



Definition at line 586 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!element\+\_\+type@{element\+\_\+type}}
\index{element\+\_\+type@{element\+\_\+type}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{element\+\_\+type}{element\_type}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
using \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9bcd4894e8a1c90a2e3dddf1d7903c90}{element\+\_\+type} =  T}



Definition at line 585 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!pointer@{pointer}}
\index{pointer@{pointer}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{pointer}{pointer}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
using \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a48c12083d8301dad80a1f1644c427841}{pointer} =  \hyperlink{namespacekblib_1_1detail__memory_a9cb8ba19f19eee413f3cb3a221bb3a60}{detail\+\_\+memory\+::filter\+\_\+deleter\+\_\+pointer\+\_\+t}$<$Deleter, T$>$}



Definition at line 584 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!unique@{unique}}
\index{unique@{unique}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{unique}{unique}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
using \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} =  std\+::unique\+\_\+ptr$<$T\mbox{[}$\,$\mbox{]}, Deleter$>$}



Definition at line 593 of file memory.\+h.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a6dd759ef278c5bd1361b187d612da8b5}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}, {\ttfamily [noexcept]}}

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af36f8d74ab016b573fa7a36a53bac483}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{std\+::nullptr\+\_\+t}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 596 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_aedbffcbfcd8e57960dc26610a10ab517}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{T $\ast$}]{p,  }\item[{bool}]{owner = {\ttfamily false},  }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}



Definition at line 598 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a373148c69e166f1e92e8bbbf05c620a6}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{T $\ast$}]{p,  }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}



Definition at line 601 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7ae8e77f270a532e24a9ef5ce461e46a}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&\&}]{p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 604 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae93e3c7b77843a757d0572b8d9c67a19}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01a89778be0fb9fa6c9a6847ecf6f250}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!cond\+\_\+ptr@{cond\+\_\+ptr}}
\index{cond\+\_\+ptr@{cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{cond\+\_\+ptr()}{cond\_ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}\item[{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&\&}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 610 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7777ea471605666bd375dac4377615c2}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!````~cond\+\_\+ptr@{$\sim$cond\+\_\+ptr}}
\index{````~cond\+\_\+ptr@{$\sim$cond\+\_\+ptr}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{$\sim$cond\+\_\+ptr()}{~cond\_ptr()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::$\sim$\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 668 of file memory.\+h.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acdfd0da37245fc27491a9f86419fd42d}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!adopt@{adopt}}
\index{adopt@{adopt}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
static auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::adopt (\begin{DoxyParamCaption}\item[{T $\ast$}]{p }\end{DoxyParamCaption}) -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [noexcept]}}



Definition at line 614 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0f8eb4b08447bd98c3c61cc2f2063e98}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!adopt@{adopt}}
\index{adopt@{adopt}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{adopt()}{adopt()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
static auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::adopt (\begin{DoxyParamCaption}\item[{T $\ast$}]{p,  }\item[{\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a3150c6330dbd2ac80a4d30864c67d7a4}{deleter\+\_\+type}}]{del }\end{DoxyParamCaption}) -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}, {\ttfamily [noexcept]}}



Definition at line 617 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a827a1eb96b8ce18d8d42386d2ca4bfda}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!get@{get}}
\index{get@{get}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 714 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae6cba8b0ca1bd342dd6d9f59c128ea6f}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!get@{get}}
\index{get@{get}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{get()}{get()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ const T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 716 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a59b64b2b7531650761a28aaaa017fa00}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!get\+\_\+deleter@{get\+\_\+deleter}}
\index{get\+\_\+deleter@{get\+\_\+deleter}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{get\+\_\+deleter()}{get\_deleter()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get\+\_\+deleter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ Deleter\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 684 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a01eace688378fed665329906cee1ef94}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!get\+\_\+deleter@{get\+\_\+deleter}}
\index{get\+\_\+deleter@{get\+\_\+deleter}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{get\+\_\+deleter()}{get\_deleter()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::get\+\_\+deleter (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ const Deleter\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 686 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acc70a9c63f4c91157a21d12a4fcdbdab}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator bool@{operator bool}}
\index{operator bool@{operator bool}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator bool()}{operator bool()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator bool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}



Definition at line 718 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_acf0ff1f4067129b135dfb63f1416feb1}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator unique@{operator unique}}
\index{operator unique@{operator unique}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator unique()}{operator unique()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
\hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}, {\ttfamily [noexcept]}}



Definition at line 664 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_afc4c77168bfb4d8b48c6cf4a34249250}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator=@{operator=}}
\index{operator=@{operator=}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) \& -\/$>$  \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \&=delete\hspace{0.3cm}{\ttfamily [delete]}}

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7355204599ce0942ac209cd63e8c8f5d}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator=@{operator=}}
\index{operator=@{operator=}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&\&}]{rhs }\end{DoxyParamCaption}) \& -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}\& \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 631 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a15595f4205ce4f305d1fe5fb5e58b974}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator=@{operator=}}
\index{operator=@{operator=}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator= (\begin{DoxyParamCaption}\item[{\hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&\&}]{rhs }\end{DoxyParamCaption}) -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}\& \hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 639 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7adc748dcb4969a61f2d934d4225d05c}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7adc748dcb4969a61f2d934d4225d05c}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
T\& \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption}) \&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 720 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7cdecf23d865d2d30f227332f7385d54}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7cdecf23d865d2d30f227332f7385d54}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
const T\& \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption}) const \&\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 724 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af611c691eddf7ca679f3b7c00ab4601f}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!owns@{owns}}
\index{owns@{owns}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{owns()}{owns()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::owns (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ bool \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 678 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a0454f4b8040139139dbe7373772a170e}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!release@{release}}
\index{release@{release}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{release()}{release()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::release (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \& -\/$>$ T$\ast$ \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 679 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a9d845b09ab52c539f265aa99c9913e18}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!reset@{reset}}
\index{reset@{reset}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::reset (\begin{DoxyParamCaption}\item[{T $\ast$}]{p = {\ttfamily nullptr},  }\item[{bool}]{owner = {\ttfamily false},  }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption}) \& -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 690 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ad51a29b7255981c5f093197dbbdaf6a4}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!reset@{reset}}
\index{reset@{reset}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{reset()}{reset()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::reset (\begin{DoxyParamCaption}\item[{T $\ast$}]{p,  }\item[{std\+::decay\+\_\+t$<$ Deleter $>$}]{del = {\ttfamily \{\}} }\end{DoxyParamCaption}) \& -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 699 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a29e9a6c77df27230b4f1c26ceda675ab}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!swap@{swap}}
\index{swap@{swap}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{swap()}{swap()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::swap (\begin{DoxyParamCaption}\item[{\hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{other }\end{DoxyParamCaption}) -\/$>$ void \hspace{0.3cm}{\ttfamily [inline]}}



Definition at line 708 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a91d8990a847e41065015815da307d208}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!to\+\_\+unique@{to\+\_\+unique}}
\index{to\+\_\+unique@{to\+\_\+unique}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{to\+\_\+unique()}{to\_unique()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::to\+\_\+unique (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) \&\& -\/$>$ \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Transfers ownership to a unique\+\_\+ptr if possible. If $\ast$this is not owning, returns nullptr. 

\begin{DoxyPostcond}{Postcondition}
If ownership was transferred, $\ast$this is null. Otherwise, does nothing.
\end{DoxyPostcond}
\begin{DoxyReturn}{Returns}
std\+::unique\+\_\+ptr$<$\+T, Deleter$>$ Either a pointer which owns what $\ast$this owned, or a null pointer. 
\end{DoxyReturn}


Definition at line 656 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ac8406b39f6fafb27ae7e275bf327b19d}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!weak@{weak}}
\index{weak@{weak}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{weak()}{weak()}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
auto \hyperlink{classkblib_1_1cond__ptr}{kblib\+::cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$\+::weak (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const \& -\/$>$ \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr} \hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [noexcept]}}



Definition at line 674 of file memory.\+h.



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_af61e5b452edde39ca5d0cdde94fd65ea}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator==@{operator==}}
\index{operator==@{operator==}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{lhs,  }\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line 729 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a92b1d18c8db327093cb7978c80a2a00a}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator==@{operator==}}
\index{operator==@{operator==}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&}]{lhs,  }\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line 734 of file memory.\+h.

\mbox{\Hypertarget{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}\label{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_ae57a614a50b0c04e6958395ef8898e25}} 
\index{kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}!operator==@{operator==}}
\index{operator==@{operator==}!kblib\+::cond\+\_\+ptr$<$ T\mbox{[}\mbox{]}, Deleter $>$@{kblib\+::cond\+\_\+ptr$<$ T[], Deleter $>$}}
\subsubsection{\texorpdfstring{operator==}{operator==}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$typename T , typename Deleter $>$ \\
constexpr auto operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{classkblib_1_1cond__ptr}{cond\+\_\+ptr}$<$ T\mbox{[}$\,$\mbox{]}, Deleter $>$ \&}]{lhs,  }\item[{const \hyperlink{classkblib_1_1cond__ptr_3_01_t[]_00_01_deleter_01_4_a7b455396685d4d6c8ee6095af7defe7d}{unique} \&}]{rhs }\end{DoxyParamCaption}) -\/$>$ bool \hspace{0.3cm}{\ttfamily [friend]}}



Definition at line 738 of file memory.\+h.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
kblib/\hyperlink{memory_8h}{memory.\+h}\end{DoxyCompactItemize}
